home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / misc / tri14dev.lha / Triton / Developer / DemoSource / envprint.c < prev    next >
C/C++ Source or Header  |  1995-08-25  |  10KB  |  369 lines

  1. /*
  2.  *  Triton - The object oriented GUI creation system for the Amiga
  3.  *  Written by Stefan Zeiger in 1993-1995
  4.  *
  5.  *  (c) 1993-1995 by Stefan Zeiger
  6.  *  You are hereby allowed to use this source or parts
  7.  *  of it for creating programs for AmigaOS which use the
  8.  *  Triton GUI creation system. All other rights reserved.
  9.  *
  10.  *  envprint.c - Envprint 2.0 GUI created with Triton
  11.  *
  12.  *  As you can see below, it is possible to mix the tag format with
  13.  *  the C pre-processor macro format. (Actually I was just too lazy
  14.  *  to transform the whole project definition from tags to macros ;)
  15.  *
  16.  */
  17.  
  18.  
  19. #include <stdio.h>
  20. #include <stdlib.h>
  21. #include <string.h>
  22.  
  23. #include <libraries/triton.h>
  24.  
  25. #ifdef __GNUC__
  26. #ifndef __OPTIMIZE__
  27. #include <clib/triton_protos.h>
  28. #include <clib/dos_protos.h>
  29. #else
  30. #include <inline/triton.h>
  31. #include <inline/dos.h>
  32. #endif /* __OPTIMIZE__ */
  33. #else
  34. #include <proto/triton.h>
  35. #include <proto/dos.h>
  36. #endif /* __GNUC__ */
  37.  
  38.  
  39. #ifdef __GNUC__
  40. __chkabort(){}
  41. #else
  42. #ifdef __SASC__
  43. int CXBRK(void) { return(0); }
  44. int chkabort(void) { return(0); }
  45. #endif
  46. #endif
  47.  
  48.  
  49. ProjectDefinition(main_trwintags)
  50. {
  51.   WindowID(1), WindowPosition(TRWP_CENTERDISPLAY),
  52.   WindowTitle("EnvPrint 2.0 <THIS IS ONLY A NON-FUNCTIONAL GUI DEMO>"),
  53.  
  54.   BeginMenu("Project"),
  55.     BeginSub("Load"),
  56.       SubItem("S_Load sender...",1),
  57.       SubItem("D_Load addressee...",2),
  58.       SubItem("C_Load comment...",3),
  59.     BeginSub("Save"),
  60.       SubItem("O_Load sender",4),
  61.       SubItem("E_Load addressee",5),
  62.       SubItem("M_Load comment",6),
  63.     BeginSub("Sace as"),
  64.       SubItem("U_Load sender as...",7),
  65.       SubItem("T_Load addressee as...",8),
  66.       SubItem("N_Load comment as...",9),
  67.     MenuItem("F_Delete file...",10),
  68.     ItemBarlabel,
  69.     MenuItem("P_Print...",11),
  70.     MenuItem("R_Preferences...",12),
  71.     ItemBarlabel,
  72.     MenuItem("?_About...",13),
  73.     ItemBarlabel,
  74.     MenuItem("Q_Quit",14),
  75.  
  76.   BeginMenu("Edit"),
  77.     MenuItem("W_Swap",15),
  78.     MenuItem("X_Clear",16),
  79.  
  80.   HorizGroupA,
  81.     Space,
  82.     VertGroupA,
  83.       HorizGroupEAC,
  84.         VertGroupA,
  85.  
  86.           Space,
  87.  
  88.           NamedSeparatorI("Se_nder",101),
  89.  
  90.           TROB_Space,         (ULONG) NULL,
  91.  
  92.           HorizGroup,
  93.             StringGadget(NULL,101),
  94.             HorizGroup|TRGR_FIXHORIZ,
  95.               GetEntryButtonS("_1",1101),
  96.               EndGroup,
  97.             EndGroup,
  98.  
  99.           SpaceS,
  100.  
  101.           HorizGroup,
  102.             StringGadget(NULL,102),
  103.             HorizGroup|TRGR_FIXHORIZ,
  104.               GetEntryButtonS("_2",1102),
  105.               EndGroup,
  106.             EndGroup,
  107.  
  108.           SpaceS,
  109.  
  110.           HorizGroup,
  111.             StringGadget(NULL,103),
  112.             HorizGroup|TRGR_FIXHORIZ,
  113.               GetEntryButtonS("_3",1103),
  114.               EndGroup,
  115.             EndGroup,
  116.  
  117.           TROB_Space,         (ULONG) TRST_SMALL,
  118.  
  119.           HorizGroup,
  120.             StringGadget(NULL,104),
  121.             HorizGroup|TRGR_FIXHORIZ,
  122.               GetEntryButtonS("_4",1104),
  123.               EndGroup,
  124.             EndGroup,
  125.  
  126.           TROB_Space,         (ULONG) TRST_SMALL,
  127.  
  128.           HorizGroup,
  129.             StringGadget(NULL,105),
  130.             HorizGroup|TRGR_FIXHORIZ,
  131.               GetEntryButtonS("_5",1105),
  132.               EndGroup,
  133.             EndGroup,
  134.  
  135.           TROB_Space,         (ULONG) TRST_SMALL,
  136.  
  137.           HorizGroup,
  138.             StringGadget(NULL,106),
  139.             HorizGroup|TRGR_FIXHORIZ,
  140.               GetEntryButtonS("_6",1106),
  141.               EndGroup,
  142.             EndGroup,
  143.  
  144.           TROB_Space,         (ULONG) TRST_SMALL,
  145.  
  146.           HorizGroup,
  147.             StringGadget(NULL,107),
  148.             HorizGroup|TRGR_FIXHORIZ,
  149.               GetEntryButtonS("_7",1107),
  150.               EndGroup,
  151.             EndGroup,
  152.  
  153.           TROB_Space,         (ULONG) TRST_SMALL,
  154.  
  155.           HorizGroup,
  156.             StringGadget(NULL,108),
  157.             HorizGroup|TRGR_FIXHORIZ,
  158.               GetEntryButtonS("_8",1108),
  159.               EndGroup,
  160.             EndGroup,
  161.  
  162.           TROB_Space,         (ULONG) NULL,
  163.  
  164.           TRGR_End,           (ULONG) NULL,
  165.  
  166.         TROB_Space,           (ULONG) NULL,
  167.  
  168.         TRGR_Vert,            (ULONG) TRGR_PROPSHARE|TRGR_ALIGN,
  169.  
  170.           TROB_Space,         (ULONG) NULL,
  171.  
  172.           NamedSeparatorI("Add_ressee",201),
  173.  
  174.           TROB_Space,         (ULONG) NULL,
  175.  
  176.           HorizGroup,
  177.             StringGadget(NULL,201),
  178.             HorizGroup|TRGR_FIXHORIZ,
  179.               GetEntryButtonS("_!",1201),
  180.               EndGroup,
  181.             EndGroup,
  182.  
  183.           SpaceS,
  184.  
  185.           HorizGroup,
  186.             StringGadget(NULL,202),
  187.             HorizGroup|TRGR_FIXHORIZ,
  188.               GetEntryButtonS("_\"",1202),
  189.               EndGroup,
  190.             EndGroup,
  191.  
  192.           SpaceS,
  193.  
  194.           HorizGroup,
  195.             StringGadget(NULL,203),
  196.             HorizGroup|TRGR_FIXHORIZ,
  197.               GetEntryButtonS("_§",1203),
  198.               EndGroup,
  199.             EndGroup,
  200.  
  201.           TROB_Space,         (ULONG) TRST_SMALL,
  202.  
  203.           HorizGroup,
  204.             StringGadget(NULL,204),
  205.             HorizGroup|TRGR_FIXHORIZ,
  206.               GetEntryButtonS("_$",1204),
  207.               EndGroup,
  208.             EndGroup,
  209.  
  210.           TROB_Space,         (ULONG) TRST_SMALL,
  211.  
  212.           HorizGroup,
  213.             StringGadget(NULL,205),
  214.             HorizGroup|TRGR_FIXHORIZ,
  215.               GetEntryButtonS("_\%",1205),
  216.               EndGroup,
  217.             EndGroup,
  218.  
  219.           TROB_Space,         (ULONG) TRST_SMALL,
  220.  
  221.           HorizGroup,
  222.             StringGadget(NULL,206),
  223.             HorizGroup|TRGR_FIXHORIZ,
  224.               GetEntryButtonS("_&",1206),
  225.               EndGroup,
  226.             EndGroup,
  227.  
  228.           TROB_Space,         (ULONG) TRST_SMALL,
  229.  
  230.           HorizGroup,
  231.             StringGadget(NULL,207),
  232.             HorizGroup|TRGR_FIXHORIZ,
  233.               GetEntryButtonS("_/",1207),
  234.               EndGroup,
  235.             EndGroup,
  236.  
  237.           TROB_Space,         (ULONG) TRST_SMALL,
  238.  
  239.           HorizGroup,
  240.             StringGadget(NULL,208),
  241.             HorizGroup|TRGR_FIXHORIZ,
  242.               GetEntryButtonS("_(",1208),
  243.               EndGroup,
  244.             EndGroup,
  245.  
  246.           TROB_Space,         (ULONG) NULL,
  247.  
  248.           TRGR_End,           (ULONG) NULL,
  249.  
  250.         TRGR_End,             (ULONG) NULL,
  251.  
  252.       NamedSeparatorI("Co_mment",301),
  253.  
  254.       TROB_Space,             (ULONG) NULL,
  255.  
  256.       HorizGroup,
  257.         StringGadget(NULL,301),
  258.         HorizGroup|TRGR_FIXHORIZ,
  259.           GetEntryButtonS("_0",1301),
  260.           EndGroup,
  261.         EndGroup,
  262.  
  263.       TROB_Space,             (ULONG) NULL,
  264.  
  265.       TRGR_End,               (ULONG) NULL,
  266.  
  267.     TROB_Space,               (ULONG) NULL,
  268.     TROB_Line,                (ULONG) TROF_VERT|TROF_RAISED,
  269.  
  270.     TROB_Space,               (ULONG) TRST_BIG,
  271.  
  272.     TRGR_Vert,                (ULONG) TRGR_PROPSHARE|TRGR_ALIGN|TRGR_FIXHORIZ,
  273.       TROB_Space,             (ULONG) NULL,
  274.       TRGR_Horiz,             (ULONG) TRGR_EQUALSHARE|TRGR_CENTER,
  275.         TROB_Line,            (ULONG) TROF_HORIZ,
  276.         TROB_Space,           (ULONG) NULL,
  277.         TROB_Text,            (ULONG) NULL, TRAT_Text, (ULONG) "Load", TRAT_Flags, TRTX_TITLE,
  278.         TROB_Space,           (ULONG) NULL,
  279.         TROB_Line,            (ULONG) TROF_HORIZ,
  280.         TRGR_End,             (ULONG) NULL,
  281.       TROB_Space,             (ULONG) NULL,
  282.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "_Sender...", TRAT_ID, 501,
  283.       TROB_Space,             (ULONG) TRST_SMALL,
  284.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "_Addressee...", TRAT_ID, 502,
  285.       TROB_Space,             (ULONG) TRST_SMALL,
  286.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "_Comment...", TRAT_ID, 503,
  287.       TROB_Space,             (ULONG) NULL,
  288.       TRGR_Horiz,             (ULONG) TRGR_EQUALSHARE|TRGR_CENTER,
  289.         TROB_Line,            (ULONG) TROF_HORIZ,
  290.         TROB_Space,           (ULONG) NULL,
  291.         TROB_Text,            (ULONG) NULL, TRAT_Text, (ULONG) "Save", TRAT_Flags, TRTX_TITLE,
  292.         TROB_Space,           (ULONG) NULL,
  293.         TROB_Line,            (ULONG) TROF_HORIZ,
  294.         TRGR_End,             (ULONG) NULL,
  295.       TROB_Space,             (ULONG) NULL,
  296.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "S_ender...", TRAT_ID, 504,
  297.       TROB_Space,             (ULONG) TRST_SMALL,
  298.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "A_ddressee...", TRAT_ID, 505,
  299.       TROB_Space,             (ULONG) TRST_SMALL,
  300.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "C_omment...", TRAT_ID, 506,
  301.       TROB_Space,             (ULONG) TRST_BIG,
  302.       TROB_Line,              (ULONG) TROF_HORIZ,
  303.       TROB_Space,             (ULONG) TRST_BIG,
  304.       TRGR_Horiz,             (ULONG) TRGR_EQUALSHARE,
  305.         TROB_Button,          (ULONG) NULL, TRAT_Text, (ULONG) "_Print...", TRAT_ID, 507,
  306.         TROB_Space,           (ULONG) TRST_SMALL,
  307.         TROB_Button,          (ULONG) NULL, TRAT_Text, (ULONG) "S_wap", TRAT_ID, 508,
  308.         TRGR_End,             (ULONG) NULL,
  309.       TROB_Space,             (ULONG) TRST_SMALL,
  310.       TRGR_Horiz,             (ULONG) TRGR_EQUALSHARE,
  311.         TROB_Button,          (ULONG) NULL, TRAT_Text, (ULONG) "Pre_fs...", TRAT_ID, 509,
  312.         TROB_Space,           (ULONG) TRST_SMALL,
  313.         TROB_Button,          (ULONG) NULL, TRAT_Text, (ULONG) "C_lear", TRAT_ID, 510,
  314.         TRGR_End,             (ULONG) NULL,
  315.       TROB_Space,             (ULONG) NULL,
  316.     TRGR_End,                 (ULONG) NULL,
  317.  
  318.     TROB_Space,               (ULONG) NULL,
  319.  
  320.   TRGR_End,                   (ULONG) NULL,
  321.  
  322.   TAG_END
  323. };
  324.  
  325.  
  326. VOID do_main(VOID)
  327. {
  328.   BOOL close_me=FALSE;
  329.   struct TR_Project *main_project;
  330.   struct TR_Message *trmsg;
  331.  
  332.   if(main_project=TR_OpenProject(Application,main_trwintags))
  333.   {
  334.     while(!close_me)
  335.     {
  336.       TR_Wait(Application,NULL);
  337.       while(trmsg=TR_GetMsg(Application))
  338.       {
  339.         if(trmsg->trm_Project==main_project) switch(trmsg->trm_Class)
  340.         {
  341.           case TRMS_CLOSEWINDOW:
  342.             close_me=TRUE;
  343.             break;
  344.  
  345.           case TRMS_ERROR:
  346.             puts(TR_GetErrorString(trmsg->trm_Data));
  347.             break;
  348.         }
  349.         TR_ReplyMsg(trmsg);
  350.       }
  351.     }
  352.     TR_CloseProject(main_project);
  353.   }
  354. }
  355.  
  356.  
  357. int main(void)
  358. {
  359.   if(TR_OpenTriton(TRITON11VERSION,TRCA_Name,"Envprint",TRCA_LongName,"EnvPrint GUI demo",TRCA_Version,"2.0",TAG_END))
  360.   {
  361.     do_main();
  362.     TR_CloseTriton();
  363.     return 0;
  364.   }
  365.  
  366.   puts("Can't open triton.library v2+.");
  367.   return 20;
  368. }
  369.